/**
 * @filename:PurchaseOrderDetail
 * @project com/lwl/blue  V1.0
 * @author: group3——pzj
 */
package com.lwl.blue.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lwl.blue.commont.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>采购订单明细表实体</p>
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("purchase_order_detail_3")
public class PurchaseOrderDetail extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "purchase_order_detail_id", type = IdType.AUTO)
    @ApiModelProperty(name = "id", value = "主键ID")
    private Long id;

    @ApiModelProperty(name = "purchaseOrderDetailId", value = "前端展示使用的主键ID")
    @TableField(exist = false)
    private Long purchaseOrderDetailId;

    @ApiModelProperty(name = "purchaseOrderId", value = "采购订单主键ID")
    private String purchaseOrderId;

    @ApiModelProperty(name = "detailCancelInnerId", value = "采购订单明细核销内码")
    private String detailCancelInnerId;
    @ApiModelProperty(name = "orderCancelInnerId", value = "采购订单号核销内码")
    private String orderCancelInnerId;
    @ApiModelProperty(name = "cancelNo", value = "采购订单核销号")
    private String cancelNo;

    @ApiModelProperty(name = "supId", value = "供应商ID（supplier.id）")
    private Integer supId;
    @ApiModelProperty(name = "prodId", value = "产品ID（item.id）")
    private Integer prodId;

    @ApiModelProperty(name = "quantity", value = "数量")
    private Integer quantity;
    @ApiModelProperty(name = "unit", value = "单位")
    private String unit;
    @ApiModelProperty(name = "unitPrice", value = "单价")
    private BigDecimal unitPrice;
    @ApiModelProperty(name = "taxFreeUnitPrice", value = "不含税单价")
    private BigDecimal taxFreeUnitPrice;
    @ApiModelProperty(name = "isTempPrice", value = "是否暂定价")
    private String isTempPrice;

    @ApiModelProperty(name = "conversionRatio", value = "换算比例")
    private BigDecimal conversionRatio;
    @ApiModelProperty(name = "statQuantity", value = "统计数量")
    private BigDecimal statQuantity;
    @ApiModelProperty(name = "statUnit", value = "统计单位")
    private String statUnit;

    @ApiModelProperty(name = "packageQuantity", value = "包装数量")
    private BigDecimal packageQuantity;
    @ApiModelProperty(name = "packageUnit", value = "包装单位")
    private String packageUnit;
    @ApiModelProperty(name = "packageConversionRatio", value = "包装换算比例")
    private BigDecimal packageConversionRatio;

    @ApiModelProperty(name = "deliveryTerms", value = "交期条款")
    private String deliveryTerms;
    @ApiModelProperty(name = "deliveryDays", value = "交期天数")
    private Integer deliveryDays;
    @ApiModelProperty(name = "deliveryDate", value = "交货日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date deliveryDate;
    @ApiModelProperty(name = "pickupMethod", value = "提货方式")
    private String pickupMethod;
    @ApiModelProperty(name = "deliveryLocation", value = "交货地点")
    private String deliveryLocation;
    @ApiModelProperty(name = "hsCode", value = "海关编码")
    private String hsCode;

    @ApiModelProperty(name = "attr1", value = "属性1")
    @TableField("attr_1")
    private String attr1;
    @ApiModelProperty(name = "attr2", value = "属性2")
    @TableField("attr_2")
    private String attr2;
    @ApiModelProperty(name = "attr3", value = "属性3")
    @TableField("attr_3")
    private String attr3;
    @ApiModelProperty(name = "attr4", value = "属性4")
    @TableField("attr_4")
    private String attr4;
    @ApiModelProperty(name = "attr5", value = "属性5")
    @TableField("attr_5")
    private String attr5;
    @ApiModelProperty(name = "attr6", value = "属性6")
    @TableField("attr_6")
    private String attr6;
    @ApiModelProperty(name = "attr7", value = "属性7")
    @TableField("attr_7")
    private String attr7;
    @ApiModelProperty(name = "attr8", value = "属性8")
    @TableField("attr_8")
    private String attr8;
    @ApiModelProperty(name = "attr9", value = "属性9")
    @TableField("attr_9")
    private String attr9;
    @ApiModelProperty(name = "attr10", value = "属性10")
    @TableField("attr_10")
    private String attr10;

    @ApiModelProperty(name = "docVersion", value = "项目单据版本号")
    private String docVersion;
    @ApiModelProperty(name = "salesAgreementNo", value = "购销协议号")
    private String salesAgreementNo;
    @ApiModelProperty(name = "priceMethod", value = "价格方式")
    private String priceMethod;
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    @ApiModelProperty(name = "currency", value = "币种")
    private String currency;

    @ApiModelProperty(name = "taxFreeAmount", value = "不含税金额")
    private BigDecimal taxFreeAmount;
    @ApiModelProperty(name = "taxRate", value = "税率")
    private BigDecimal taxRate;
    @ApiModelProperty(name = "taxAmount", value = "增值税金额")
    private BigDecimal taxAmount;
    @ApiModelProperty(name = "totalAmount", value = "金额")
    private BigDecimal totalAmount;
}


